//============================================================================
/**
 *
 *	@file		museum_util.h
 *	@brief		ポケスロン ミュージアム用 汎用関数
 *	@author		hosaka genya
 *	@data		2008.07.30
 *
 */
//============================================================================
#pragma once
#include "gflib/touchpanel.h"
#include "savedata/pkthln_svdata.h"
#include "application/pokethlon_frame.h"
#include "application/pokethlon_rankdata.h"

//=============================================================================
/**
 *								定数定義
 */
//=============================================================================

//--------------------------------------------------------------
///	トロフィーの数
//==============================================================
typedef enum
{
	MUSEUM_TROPHY_NONE = 0,
	MUSEUM_TROPHY_SINGLE,
	MUSEUM_TROPHY_DOUBLE,
} MUSEUM_TROPHY;


//=============================================================================
/**
 *								構造体定義
 */
//=============================================================================

//=============================================================================
/**
 *								プロトタイプ宣言
 */
//=============================================================================

//-----------------------------------------------------------------------------
/**
 *	@brief	終了チェック（キー入力、タッチ）
 *
 *	@param	void
 *
 *	@retval
 */
//-----------------------------------------------------------------------------
extern BOOL MUSEUM_UTIL_CheckExit( void );

//-----------------------------------------------------------------------------
/**
 *	@brief	コースのスコアから、トロフィーの数を算出
 *
 *	@param	u16 score
 *
 *	@retval
 */
//-----------------------------------------------------------------------------
extern MUSEUM_TROPHY MUSEUM_UTIL_GetCourseTrophyCount( u16 score );

extern u8 MUSEUM_UTIL_GetEventTrophyCount( const PKTH_EVT_DATA* p_ev );
extern u8 MUSEUM_UTIL_GetPokemonTrophyCount( u16 mdlst_poke_cnt );
extern u16 MUSEUM_UTIL_GetEventDefaultRecord( u16 ev_idx, BOOL b_pkth_clear );
extern BOOL MUSEUM_UTIL_CheckEventRecordFlag( u8 ev_idx, BOOL b_pkth_clear, u16 rec );
extern BOOL MUSEUM_UTIL_CheckEventRecordFlagTai( u8 ev_idx, BOOL b_pkth_clear, u16 rec );
extern u16 MUSEUM_UTIL_GetEventRecord( const PKTH_EVT_DATA* dat, u8 rnk_idx );
extern u16 MUSEUM_UTIL_GetMedalistPokemonCount( const u8* p_mdl );

//-----------------------------------------------------------------------------
/**
 *	汎用処理
 */
//-----------------------------------------------------------------------------
extern void MUSEUM_COMMON_Init( void );
extern void MUSEUM_COMMON_Release( void );

//-----------------------------------------------------------------------------
/**
 *	@brief	指定した桁の値を取得
 *
 *	@param	int src	元の値
 *	@param	pos	指定桁(1-4)
 *
 *	@retval
 */
//-----------------------------------------------------------------------------
extern int UTIL_GetFigreAppoint( int src ,u8 pos );

//----------------------------------------------------------------------------
/**
 *	指定した数値の桁数を取得
 *
 *	@param	int num	ソース
 *
 *	@return int 桁数
 */
//-----------------------------------------------------------------------------
extern u8 UTIL_GetFigure( int num );
